from livekit.agents import Agent, AgentSession, JobContext, WorkerOptions, cli
from livekit.plugins import deepgram, cartesia
from superdialog import DialogMachine, Flow
from superdialog.adapters.livekit import DialogMachineLLM
dialog_machine = DialogMachine(
flow=Flow.load("kyc.json"),
llm="anthropic/claude-haiku-4-5",
)
async def entrypoint(ctx: JobContext):
await ctx.connect()
agent = Agent(
llm=DialogMachineLLM(dialog_machine),
stt=deepgram.STT(),
tts=cartesia.TTS(),
)
await AgentSession().start(agent=agent, room=ctx.room)
if __name__ == "__main__":
cli.run_app(WorkerOptions(entrypoint_fnc=entrypoint))